From: Florian Müllner Date: Sun, 31 Jul 2022 23:17:53 +0000 (+0200) Subject: status/network: Make connectivity queue a Set X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~461^2^2~141 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=de175dfca4a01346600cbd4bc2cce7b898777011;p=gnome-shell.git status/network: Make connectivity queue a Set It's better suited than an array. Part-of: --- diff --git a/js/ui/status/network.js b/js/ui/status/network.js index 0ae423b68..d2802f328 100644 --- a/js/ui/status/network.js +++ b/js/ui/status/network.js @@ -1759,7 +1759,7 @@ class Indicator extends PanelMenu.SystemIndicator { this._activeConnections = []; this._connections = []; - this._connectivityQueue = []; + this._connectivityQueue = new Set(); this._mainConnection = null; @@ -2090,23 +2090,14 @@ class Indicator extends PanelMenu.SystemIndicator { } _flushConnectivityQueue() { - if (this._portalHelperProxy) { - for (let item of this._connectivityQueue) - this._portalHelperProxy.CloseAsync(item).catch(logError); - } - - this._connectivityQueue = []; + for (let item of this._connectivityQueue) + this._portalHelperProxy?.CloseAsync(item); + this._connectivityQueue.clear(); } _closeConnectivityCheck(path) { - let index = this._connectivityQueue.indexOf(path); - - if (index >= 0) { - if (this._portalHelperProxy) - this._portalHelperProxy.CloseAsync(path).catch(logError); - - this._connectivityQueue.splice(index, 1); - } + if (this._connectivityQueue.delete(path)) + this._portalHelperProxy?.CloseAsync(path); } async _portalHelperDone(proxy, emitter, parameters) { @@ -2149,10 +2140,8 @@ class Indicator extends PanelMenu.SystemIndicator { return; let path = this._mainConnection.get_path(); - for (let item of this._connectivityQueue) { - if (item == path) - return; - } + if (this._connectivityQueue.has(path)) + return; let timestamp = global.get_current_time(); if (!this._portalHelperProxy) { @@ -2176,7 +2165,7 @@ class Indicator extends PanelMenu.SystemIndicator { this._portalHelperProxy?.AuthenticateAsync(path, '', timestamp).catch(logError); - this._connectivityQueue.push(path); + this._connectivityQueue.add(path); } _updateIcon() {